package com.petecat.interchan.system.company.service;

import java.util.List;

import com.petecat.interchan.core.service.BaseService;
import com.petecat.interchan.protocol.base.project.vo.CompanySelectVO;
import com.petecat.interchan.protocol.data.PageVO;
import com.petecat.interchan.protocol.sso.company.dto.SysCompanyAddDTO;
import com.petecat.interchan.protocol.sso.company.dto.SysCompanyQryDTO;
import com.petecat.interchan.protocol.sso.company.dto.SysCompanyUpdDTO;
import com.petecat.interchan.protocol.sso.company.vo.SysCompanyQryVO;
import com.petecat.interchan.system.company.entity.SysCompany;
import com.petecat.interchan.system.companyempl.entity.BsSms;

public interface ICompanyService extends BaseService<SysCompany, String>{
	
	/**
	 * 分页查询公司信息
	 * @param companyQryDTO
	 * @return
	 */
	PageVO<SysCompanyQryVO> queryCompanyByPage(SysCompanyQryDTO companyQryDTO);
	
	/**
	 * 分页查询公司信息
	 * @param SysCompany
	 * @return
	 */
	List<SysCompany> queryAllCompany();
	
	/**
	 * 新增公司基本信息
	 * @param sysCompanyAddDTO
	 * @param userId
	 */
	void saveCompany(SysCompanyAddDTO sysCompanyAddDTO, String userId);
	
	/**
	 * 删除公司基本信息
	 * @param companyId
	 * @param state
	 */
	void deleteCompanyById(String companyId, String state);

	/**
	 * 修改公司基本信息
	 * @param sysCompanyUpdDTO
	 * @param userId
	 */
	void modifyCompanyById(SysCompanyUpdDTO sysCompanyUpdDTO, String userId);
	
	/**
	 * 根据登录用户下拉查询树形公司
	 * @param userId
	 * @return
	 */
	List<CompanySelectVO> queryCompanySelectTreeByUserId(String userId);
	
}
